package main

import (
	localGrpc "grpc/protos"
	"github.com/golang/protobuf/proto"
	"fmt"
	"io/ioutil"
)


//作为类似 JSON 的加密解密工具使用
func main() {
	AsEncodeTool()
}

func AsEncodeTool() {
	fname := "hello.pb.data"
	a := &localGrpc.Hello{
		Name: "mirchen",
	}

	out, err := proto.Marshal(a)

	if err != nil {
		fmt.Println(err.Error())
		return
	} else {
		fmt.Println("编码:", out)
	}

	//写加密内容到文件

	err = ioutil.WriteFile(fname, out, 0644)
	if err != nil {
		fmt.Println(err.Error())
		return
	}

	//读取内容
	in, err := ioutil.ReadFile(fname)

	getData := &localGrpc.Hello{}

	err = proto.Unmarshal(in, getData)

	if err != nil {
		fmt.Println(err.Error())
		return
	}

	fmt.Println("解密:", getData)
}
